package com.itheima.sh.i_array_09;

import java.util.ArrayList;

/*
定义测试类Test,完成以下要求：

① 定义方法，public static ArrayList<User> getUser(ArrayList<User> users)，
获得年龄大于等于18岁，并且性别为 "女"的User，加入新的集合并返回。

② 在main方法中完成以下功能：创建5个User对象并赋值(对象属性值,自己给定)，
加入ArrayList集合中，调用getUser方法并接收，遍历返回的新集合输出新集合中所有元素信息
 */
public class UserTest {
    //5.定义方法
    public static ArrayList<User> getUser(ArrayList<User> users) {
        //6.创建新的集合
        ArrayList<User> list = new ArrayList<>();
        //7.遍历users集合，取出集合中的每个User对象
        for (int i = 0; i < users.size(); i++) {
            User user = users.get(i);
            int age = user.getAge();
            String sex = user.getSex();
            //8.判断年龄大于等于18岁，并且性别为女的User
            if (age >= 18 && sex.equals("女")) {
                //9.加入新的集合
                list.add(user);//将在users集合中获取的元素放入 新建的new集合里
            }
        }
        //10.返回新的集合
        return list;
    }


    public static void main(String[] args) {
        //11.创建五个User对象 并赋值
        User u1 = new User("高圆圆", 24, "女");
        User u2 = new User("袁姗姗", 21, "女");
        User u3 = new User("刘诗诗", 18, "女");
        User u4 = new User("白百何", 22, "女");
        User u5 = new User("李小璐", 18, "女");
        //12.创建一个新的集合，将上述五个User对象放到集合中
        ArrayList<User> users = new ArrayList<>();
        users.add(u1);
        users.add(u2);
        users.add(u3);
        users.add(u4);
        users.add(u5);
        //13.调用getUser方法将第12步储存的User对象作为参数传递并接收新的集合
        ArrayList<User> newList = getUser(users);

        //14.遍历返回的集合，并输出所有元素信息
        for (int i = 0; i < newList.size(); i++) {
            //获取返回集合newList中的User对象
            User user = newList.get(i);
            //获取对象中的属性值
            String name = user.getName();
            int age = user.getAge();
            String sex = user.getSex();
            System.out.println(name + "--" + age + "--" + sex);
        }
    }

}


